package indi.cyh.entity;


import com.alibaba.fastjson2.annotation.JSONField;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.Table;
import io.swagger.v3.oas.annotations.media.Schema;
import java.io.Serializable;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;

/**
 * @author CYH
 * @date 2025-02-10  
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Table("sql_pub.interface_request_log")
@Schema(description = "实体类")
public class InterfaceRequestLog implements Serializable {


	private static final long serialVersionUID =  1430419050188046626L;


	/**
	 * 主键
	 */
	@Schema(description = "主键", example = "")
	@Id(value = "id")
	@JSONField(name = "id",alternateNames = { "id", "id"})
	private String id;

	/**
	 * 调用人
	 */
	@Schema(description = "调用人", example = "")
	@JSONField(name = "loginName",alternateNames = { "loginName", "login_name"})
	private String loginName;

	/**
	 * 接口名称
	 */
	@Schema(description = "接口名称", example = "")
	@JSONField(name = "interfaceName",alternateNames = { "interfaceName", "interface_name"})
	private String interfaceName;

	/**
	 * 调用参数
	 */
	@Schema(description = "调用参数", example = "")
	@JSONField(name = "requestParam",alternateNames = { "requestParam", "request_param"})
	private String requestParam;

	/**
	 * 调用结果
	 */
	@Schema(description = "调用结果", example = "")
	@JSONField(name = "requestRes",alternateNames = { "requestRes", "request_res"})
	private String requestRes;

	/**
	 * 开始调用时间
	 */
	@Schema(description = "开始调用时间", example = "")
	@JSONField(name = "startTime",alternateNames = { "startTime", "start_time"}, format = "yyyy-MM-dd HH:mm:ss")
	private java.sql.Timestamp startTime;

	/**
	 * 结束时间
	 */
	@Schema(description = "结束时间", example = "")
	@JSONField(name = "endTime",alternateNames = { "endTime", "end_time"}, format = "yyyy-MM-dd HH:mm:ss")
	private java.sql.Timestamp endTime;

	/**
	 * 调用装态(0调用中、1调用结束、2调用异常)
	 */
	@Schema(description = "调用装态(0调用中、1调用结束、2调用异常)", example = "")
	@JSONField(name = "status",alternateNames = { "status", "status"})
	private long status;

	/**
	 * 运行耗时(秒)
	 */
	@Schema(description = "运行耗时(秒)", example = "")
	@JSONField(name = "runningTime",alternateNames = { "runningTime", "running_time"})
	private double runningTime;

	/**
	 * 异常信息
	 */
	@Schema(description = "异常信息", example = "")
	@JSONField(name = "exceptionInfo",alternateNames = { "exceptionInfo", "exception_info"})
	private String exceptionInfo;

	/**
	 * 日志标记
	 */
	@Schema(description = "日志标记", example = "")
	@JSONField(name = "code",alternateNames = { "code", "code"})
	private String code;

	/**
	 * 调用ip
	 */
	@Schema(description = "调用ip", example = "")
	@JSONField(name = "requestIp",alternateNames = { "requestIp", "request_ip"})
	private String requestIp;

}
